package com.xiaoshuidi.cloud.module.iot.dal.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xiaoshuidi.cloud.framework.tenant.core.db.TenantBaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;

/**
 * <p>
 * 人脸库
 * </p>
 *
 * @author Feng
 * @since 2023-06-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_face_database")
public class TbFaceDatabase extends TenantBaseDO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 第三方人脸ID
     */
    private String thirdFaceId;

    /**
     * 第三方人脸组编号
     */
    private String thirdFaceGroupId;

    /**
     * 人员姓名
     */
    private String memberName;

    /**
     * 身份证号
     */
    private String idNumber;

    /**
     * 人员类型(1员工，2租客，3同住人)
     */
    private String memberType;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 人脸照片URL
     */
    private String photoUrl;

    /**
     * 身份证照片URL，类型为同住人时需要
     */
    private String cardPicUrl;

    /**
     * 有效开始日期
     */
    private LocalDate validStartDate;

    /**
     * 有效结束日期
     */
    private LocalDate validEndDate;

    /**
     * 状态 1待审核 2已生效 3已失效 4已拒绝
     */
    private String status;

    /**
     * 审核人ID
     */
    private Long reviewerId;

    /**
     * 审核人姓名
     */
    private String reviewerName;

    /**
     * 审核人手机号
     */
    private String reviewerPhone;

    /**
     * 上传途径 1用户上传 2管家上传
     */
    private String uploadPath;

    /**
     * 关联承租人ID，类型为同住人时需要
     */
    private Long renterId;

    /**
     * 关联承租人姓名，类型为同住人时需要
     */
    private String renterName;

    /**
     * 关联承租人手机号，类型为同住人时需要
     */
    private String renterPhone;

    /**
     * 操作人姓名
     */
    private String operator;

    /**
     * 审核拒绝原因
     */
    private String reviewerRefuseReason;
}
